BAC:;bac.file=~bac.file;save=1;if bac.file=1 then for.file=0;signal EDITPAR
FOR:;if index(" "drives" "," "upper(des.file)" ")=0 then do
tr "35Hc9Only when cf<cbDcf> c9is a Floppy Drive! cf<cdKeycf>g135H";signal EDITPAR;end
for.file=for.file+1;if for.file>2 then for.file=0;save=1;signal EDITPAR
DAT:;addkeys (tim.file);tr "25Hz0car1i"64+4096" 8}r0";gu 70;a=result;if a="" then a=date("s");if a<19940101 | a>19991231 then do;a=tim.file
tr "34Hc9Dates Between 1/1/94 & 12/31/99! cf<cdKeycf>g134H"
signal EDITPAR;end;if a~=tim.file then save=1;tim.file=a;tr "25Hcar1"a"r0";signal EDITPAR
SAV:;if save=0 then signal QUI;else do i=1 to files;file.i=tim.i"|"ext.i"|"nam.i"|"tem.i"|"des.i"|"day.i"|"dir.i"|"bac.i"|"for.i"|x";end i;call SAVECONFIG
READFILE:;if ~exists(fn||ext.file) then do;total=0;return;end;call open(f1,fn||ext.file,"r")
do i=1 until eof(f1);fn.i=readln(f1);end i;call close(f1);total=i-1;return
PARSER:;parse arg r;rr="";do ii=1 to length(r);a=substr(r,ii,1);if index("0123456789-,",a)=0 then iterate ii;rr=rr||a;end ii;r=rr;a=pos(",",r);ii=0;jj=0
if a>0 then do;do ii=1 until pos(",",r)=0;a=pos(",",r);v.ii=left(r,a-1);r=substr(r,a+1);end ii;ii=ii+1;v.ii=r;r1=ii;end;else do;r1=1;v.1=r;end
do ii=1 to r1;a=pos("-",v.ii);if right(v.ii,1)="-" then v.ii=v.ii||tot;if left(v.ii,1)="-" then do;v.ii="1"v.ii;a=a+1;end;if a=0 then do;jj=jj+1;it.jj=v.ii;iterate ii;end
l1=left(v.ii,a-1);l2=substr(v.ii,a+1);low=min(l1,l2);high=max(l1,l2);do k=low to high;jj=jj+1;it.jj=k;end k;end ii;totpit=jj;return